package main

import (
	"fmt"
	"time"
)

func main7() {

	// 创建只有一个缓冲区的channel对象
	ch := make(chan int, 1)
	// 向channel对象中写入一个元素——0
	ch <- 0

	go func() {
		// 从channel对象中读取数据
		<-ch
		for i := 1; i <= 5; i++ {
			time.Sleep(time.Millisecond) // 模拟耗时操作
			fmt.Println(i)
		}
		// 执行结束后，向channel中写回一个元素——0
		ch <- 0
	}()

	go func() {
		// 从channel对象中读取数据
		<-ch
		for i := 1; i <= 5; i++ {
			time.Sleep(time.Millisecond) // 模拟耗时操作
			fmt.Println(i * 10)
		}
		// 执行结束后，向channel中写回一个元素——0
		ch <- 0
	}()

	time.Sleep(time.Second)
}
